diff --git a/packages/react-bootstrap-table2-example/examples/row-selection/custom-selection.js b/packages/react-bootstrap-table2-example/examples/row-selection/custom-selection.js
new file mode 100644
index 0000000..4291c68
--- /dev/null
+++ b/packages/react-bootstrap-table2-example/examples/row-selection/custom-selection.js
@@ -0,0 +1,107 @@
+/* eslint react/prop-types: 0 */
+/* eslint no-param-reassign: 0 */
+import React from 'react';
+
+import BootstrapTable from 'react-bootstrap-table-next';
+import Code from 'components/common/code-block';
+import { productsGenerator } from 'utils/common';
+
+const products = productsGenerator();
+
+const columns = [{
+ dataField: 'id',
+ text: 'Product ID'
+}, {
+ dataField: 'name',
+ text: 'Product Name'
+}, {
+ dataField: 'price',
+ text: 'Product Price'
+}];
+
+const selectRow1 = {
+ mode: 'radio',
+ clickToSelect: true,
+ selectionHeaderRenderer: () => 'X',
+ selectionRenderer: ({ mode, ...rest }) => (
+
+ )
+};
+
+const selectRow2 = {
+ mode: 'checkbox',
+ clickToSelect: true,
+ selectionHeaderRenderer: ({ indeterminate, ...rest }) => (
+ {
+ if (input) input.indeterminate = indeterminate;
+ } }
+ { ...rest }
+ />
+ ),
+ selectionRenderer: ({ mode, ...rest }) => (
+
+ )
+};
+
+const sourceCode1 = `\
+import BootstrapTable from 'react-bootstrap-table-next';
+
+const columns = ....;
+
+const selectRow = {
+ mode: 'radio',
+ clickToSelect: true,
+ selectionHeaderRenderer: () => 'X',
+ selectionRenderer: ({ mode, ...rest }) => (
+
+ )
+};
+
+
{ sourceCode1 }
+ { sourceCode2 }
+