mirror of
https://github.com/gosticks/react-bootstrap-table2.git
synced 2026-08-16 21:50:17 +00:00
20181104 release
This commit is contained in:
@@ -100,6 +100,25 @@
|
||||
|
||||
<span class="hljs-comment">// omit...</span>
|
||||
</code></pre>
|
||||
<blockquote>
|
||||
<p>Note, the <code>selectOptions</code> can be an array also:</p>
|
||||
</blockquote>
|
||||
<pre><code class="hljs css js"><span class="hljs-keyword">const</span> selectOptions = [
|
||||
{ <span class="hljs-attr">label</span>: <span class="hljs-number">0</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'good'</span> },
|
||||
{ <span class="hljs-attr">label</span>: <span class="hljs-number">1</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'Bad'</span> },
|
||||
{ <span class="hljs-attr">label</span>: <span class="hljs-number">2</span>, <span class="hljs-attr">value</span>: <span class="hljs-string">'unknown'</span> }
|
||||
];
|
||||
<span class="hljs-keyword">const</span> columns = [
|
||||
..., {
|
||||
<span class="hljs-attr">dataField</span>: <span class="hljs-string">'quality'</span>,
|
||||
<span class="hljs-attr">text</span>: <span class="hljs-string">'Product Quailty'</span>,
|
||||
<span class="hljs-attr">formatter</span>: <span class="hljs-function"><span class="hljs-params">cell</span> =></span> selectOptions.find(<span class="hljs-function"><span class="hljs-params">opt</span> =></span> opt.label === cell).value,
|
||||
<span class="hljs-attr">filter</span>: selectFilter({
|
||||
<span class="hljs-attr">options</span>: selectOptions
|
||||
})
|
||||
}];
|
||||
</code></pre>
|
||||
<p>The benifit is <code>react-bootstrap-table2</code> will render the select options by the order of array.</p>
|
||||
<h2><a class="anchor" aria-hidden="true" name="multiselect-filter"></a><a href="#multiselect-filter" aria-hidden="true" class="hash-link" ><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>MultiSelect Filter</h2>
|
||||
<p>Multi-select filter is almost same as regular select filterfilter :</p>
|
||||
<pre><code class="hljs css js"><span class="hljs-keyword">import</span> filterFactory, { multiSelectFilter } <span class="hljs-keyword">from</span> <span class="hljs-string">'react-bootstrap-table2-filter'</span>;
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
<p>By default behavior, user need to click on the selection column or the checkbox/radio to select/unselect a row, for a user experience perspective, we have <a href="./row-select-props.html#selectrowclicktoselect-bool"><code>selectoRow.clickToSelect</code></a> to allow user to select/unselect row by clicking on the row.</p>
|
||||
<h2><a class="anchor" aria-hidden="true" name="selection-management"></a><a href="#selection-management" aria-hidden="true" class="hash-link" ><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Selection Management</h2>
|
||||
<p>Please check <a href="./row-select-props.html#selectrowselected-array"><code>selectoRow.selected</code></a>, it's used for default selection usually but also can be used as a external selection control.</p>
|
||||
<p>This is an example for <a href="../storybook/index.html?selectedKind=Row%20Selection&selectedStory=Selection%20Management">selection management</a></p>
|
||||
<p>This is an example for <a href="../storybook/index.html?selectedKind=Row%20Selection&selectedStory=Selection%20Management">selection management</a>.</p>
|
||||
<p>In addition, this is another example for <a href="../storybook/index.html?selectedKind=Row%20Selection&selectedStory=Advance%20Selection%20Management">selection management</a></p>
|
||||
<h2><a class="anchor" aria-hidden="true" name="customization"></a><a href="#customization" aria-hidden="true" class="hash-link" ><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Customization</h2>
|
||||
<h3><a class="anchor" aria-hidden="true" name="style-class"></a><a href="#style-class" aria-hidden="true" class="hash-link" ><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Style/Class</h3>
|
||||
<p>Like column, we support to custom the style, class on the selecting row easily via following <code>selectRow</code> props:</p>
|
||||
|
||||
@@ -143,15 +143,39 @@
|
||||
}
|
||||
};
|
||||
</code></pre>
|
||||
<blockquote>
|
||||
<p>If you want to reject current select action, just return <code>false</code>:</p>
|
||||
</blockquote>
|
||||
<pre><code class="hljs css js"><span class="hljs-keyword">const</span> selectRow = {
|
||||
<span class="hljs-attr">mode</span>: <span class="hljs-string">'checkbox'</span>,
|
||||
<span class="hljs-attr">onSelect</span>: <span class="hljs-function">(<span class="hljs-params">row, isSelect, rowIndex, e</span>) =></span> {
|
||||
<span class="hljs-keyword">if</span> (SOME_CONDITION) {
|
||||
<span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>;
|
||||
}
|
||||
}
|
||||
};
|
||||
</code></pre>
|
||||
<h2><a class="anchor" aria-hidden="true" name="selectrowonselectall-function"></a><a href="#selectrowonselectall-function" aria-hidden="true" class="hash-link" ><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>selectRow.onSelectAll - [Function]</h2>
|
||||
<p>This callback function will be called when select/unselect all and it only work when you configure <a href="#selectrowmode-string"><code>selectRow.mode</code></a> as <code>checkbox</code>.</p>
|
||||
<pre><code class="hljs css js"><span class="hljs-keyword">const</span> selectRow = {
|
||||
<span class="hljs-attr">mode</span>: <span class="hljs-string">'checkbox'</span>,
|
||||
<span class="hljs-attr">onSelectAll</span>: <span class="hljs-function">(<span class="hljs-params">isSelect, results, e</span>) =></span> {
|
||||
<span class="hljs-attr">onSelectAll</span>: <span class="hljs-function">(<span class="hljs-params">isSelect, rows, e</span>) =></span> {
|
||||
<span class="hljs-comment">// ...</span>
|
||||
}
|
||||
};
|
||||
</code></pre>
|
||||
<blockquote>
|
||||
<p>If you want to control the final selection result, just return a row key array:</p>
|
||||
</blockquote>
|
||||
<pre><code class="hljs css js"><span class="hljs-keyword">const</span> selectRow = {
|
||||
<span class="hljs-attr">mode</span>: <span class="hljs-string">'checkbox'</span>,
|
||||
<span class="hljs-attr">onSelectAll</span>: <span class="hljs-function">(<span class="hljs-params">isSelect, rows, e</span>) =></span> {
|
||||
<span class="hljs-keyword">if</span> (isSelect && SOME_CONDITION) {
|
||||
<span class="hljs-keyword">return</span> [<span class="hljs-number">1</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>]; <span class="hljs-comment">// finally, key 1, 3, 4 will being selected </span>
|
||||
}
|
||||
}
|
||||
};
|
||||
</code></pre>
|
||||
<h2><a class="anchor" aria-hidden="true" name="selectrowhideselectcolumn-bool"></a><a href="#selectrowhideselectcolumn-bool" aria-hidden="true" class="hash-link" ><svg aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>selectRow.hideSelectColumn - [Bool]</h2>
|
||||
<p>Default is <code>false</code>, if you don't want to have a selection column, give this prop as <code>true</code></p>
|
||||
<pre><code class="hljs css js"><span class="hljs-keyword">const</span> selectRow = {
|
||||
|
||||
Reference in New Issue
Block a user