vue2.0 页面在华为自带浏览器里无法打开。

4 篇文章 0 订阅
1 篇文章 0 订阅

因为华为手机内置的浏览器内核版本太低!

解决方案1:

npm install --save -dev babel-polyfill
在你的主入口文件app.js中import 'babel-polyfill'即可

解决方案2:
也就是使用cdn的资源,以js的文件加入到html页面:

加一个https://cdn.bootcss.com/babel-polyfill/6.23.0/polyfill.min.js
1. 创建搜索框组件 首先,我们需要创建一个搜索框组件,可以使用Element UI中的Input组件来实现,同时为了实现搜索框的动态特效,我们需要使用Vue的watch属性来监听搜索框的value值的变化。 ```html <template> <el-input v-model="value" placeholder="请输入搜索内容" @keyup.enter="handleSearch"></el-input> </template> <script> export default { data() { return { value: '' } }, watch: { value(val) { this.$emit('search', val) } }, methods: { handleSearch() { this.$emit('search', this.value) } } } </script> ``` 在上面的代码中,我们使用了Element UI中的Input组件,同时定义了value属性来存储搜索框的值。并且使用了watch属性来监听value值的变化,并且在value值发生变化时,触发search事件向父组件发送搜索请求。同时,在搜索框的enter键被按下时,也会触发handleSearch方法,向父组件发送搜索请求。 2. 创建搜索结果组件 接下来,我们需要创建一个搜索结果组件,用于展示搜索结果。在此,我们将使用Element UI中的Table组件来实现搜索结果的展示,同时也需要使用Vue的props属性来接收父组件传递过来的搜索结果数据。 ```html <template> <el-table :data="searchResult"> <el-table-column label="ID" prop="id"></el-table-column> <el-table-column label="名称" prop="name"></el-table-column> <el-table-column label="价格" prop="price"></el-table-column> </el-table> </template> <script> export default { props: { searchResult: { type: Array, default: () => [] } } } </script> ``` 在上面的代码中,我们使用了Element UI中的Table组件,并且使用了props属性来接收父组件传递过来的searchResult数据(即搜索结果数据)。同时,我们也定义了搜索结果的列名和列属性,以及使用了默认值来避免在没有搜索结果时出现错误。 3. 实现父组件 最后,我们需要在父组件中将搜索框和搜索结果组件组合起来,并且实现搜索功能。在此,我们可以使用Vue的computed属性来实现搜索功能,同时也需要使用Vue的methods属性来处理搜索请求,最终将搜索结果数据传递给搜索结果组件。 ```html <template> <div> <search-box @search="handleSearch"></search-box> <search-result :search-result="searchResult"></search-result> </div> </template> <script> import SearchBox from './SearchBox' import SearchResult from './SearchResult' export default { components: { SearchBox, SearchResult }, data() { return { data: [ { id: 1, name: 'iPhone 12', price: 5999 }, { id: 2, name: '华为Mate 40', price: 4999 }, { id: 3, name: '三星Galaxy S21', price: 5399 }, { id: 4, name: '小米11', price: 3999 }, { id: 5, name: 'OPPO Reno4 Pro', price: 3799 } ], searchResult: [] } }, computed: { filteredData() { const keyword = this.keyword.trim().toLowerCase() if (keyword === '') { return [] } else { return this.data.filter(item => item.name.toLowerCase().indexOf(keyword) !== -1) } } }, methods: { handleSearch(keyword) { this.keyword = keyword this.searchResult = this.filteredData } } } </script> ``` 在上面的代码中,我们首先引入了搜索框和搜索结果组件,并且定义了data数据来存储所有商品数据。同时,我们也定义了searchResult数据来存储搜索结果数据。在computed属性中,我们使用了filteredData方法来根据关键词搜索匹配的商品数据,如果关键词为空,则返回空数组。在methods属性中,我们定义了handleSearch方法来处理搜索请求,并且将搜索结果数据赋值给searchResult数据。 最后,我们将搜索框和搜索结果组件组合起来,并且将searchResult数据传递给搜索结果组件,实现了动态搜索引擎的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值