想要透過 Input 來篩選 Table 裡面的資料
Element UI 很方便直接使用 Vue 的 Scoped slot 來看看如何使用
<div class="input-group" slot="header">
<input v-model="search" widht="" type="" class="ob-search-input ob-shadow search-input mr-3" id="" placeholder="請輸入公告標題">
</div>
filter(data => !search || data.name.toLowerCase().includes(search.toLowerCase()))
data 是 tableData 中的所有資料,後面的 data.name.toLowerCase()
會把資料中的 name 全部變成小寫之後會跟 search.toLowerCase()
去做比對<el-table
:data="tableData.filter(data => !search || data.name.toLowerCase().includes(search.toLowerCase()))"
style="width: 100%">
<el-table-column
label="Date"
prop="date">
</el-table-column>
<el-table-column
label="Name"
prop="name">
</el-table-column>
</el-table>
tableData: [
{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: 'gdfsdf小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: 'fdsfd王小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄'
}
],
search: ''
你試過在nuxt或者vue-cli3上用element-ui嗎?
有碰到問題嗎?
您好:
- 我有在 Vue-cli3 使用過沒有什麼太大的問題除了要注意 data.name
不要是空的就好;我在這個地方一直出現 TypeError: Cannot read property ‘toLowerCase’ of undefined
這樣的錯誤,還有在HTML input 外層的 div 加上一個 slot 插槽,這兩個是我遇到的問題。
- Nuxt 的話我最近才開始要進入,還沒在裡面導入 element ui
謝謝你的回覆!你給我多點信心去試用element-ui。
我是在用vuetify的,但是覺得它的[零件]不易修改,想試用另一套框架。
在現今流行的框架裏,bootstrap-vue的[流行性]和[完整性]是無容置疑,[說明文件]也應該是最好的,但是我擔心它沿用古舊的內核。
至於Quasar,我看到它的[說明文件],已經不想用了。
剩下來,最流行的算是element-ui了。雖然它的[零件]有些比較奇怪的操作,但是沒有像vuetify封裝那麽隐密,應該比較容易修改,對嗎?
至於它們的[說明文件]方面,vuetify和element-ui真是[各有千秋],讀者都需要有很好的[想像力],才能猜得到、看得懂。
不會呦~希望可以給讓你有一點前進的動力。
我在 element-ui 也捉摸了一陣子,才有點了解怎麼去修改成自己想要的樣式,其中用了蠻多 CSS 來去強制把它修改成我要的樣子。
其實因為有了些方便的東西讓開發速度快了很多,但是有時候會因為太依靠套件本身,而把問題想得太複雜。
我也還在學要怎麼把 element-ui 的零件做一個運用XD