import Taro, { Component } from '@tarojs/taro' import { View, Image } from '@tarojs/components' import ListMore from '@/c/pageDataList/listMore' import './news.scss' class Index extends Component { onShareAppMessage() { const {id, name} = this.$router.params return { title: `${name}-楼盘动态`, path: `/pagesHouse/indexDtl?id=${id}&name=${name}`, } } onShareTimeline () { const {id, name} = this.$router.params return { title: `${name}-楼盘动态`, path: `/pagesHouse/indexDtl?id=${id}&name=${name}`, } } constructor (props) { super(props) this.state = { page_size: 10, page: 1, isListEnd: false, isListLoading: false, isListEmpty: false, dataList: [], } } config = { navigationBarTitleText: '楼盘动态', } componentWillMount () { this.getDataList() } componentDidShow () { } componentDidHide () { } getDataList () { const {id: estate_id} = this.$router.params let { page_size, page, dataList, isListEmpty } = this.state Taro.api.house.apiestatenewslist({ page, page_size, estate_id }).then(res => { const curData = res.list || [] let isListEnd = false if (curData.length > 0) { if (page === 1) { dataList = curData } else { dataList = dataList.concat(curData) } if (curData.length === page_size && res.total !== curData.length) { isListEnd = false } else { isListEnd = true } } if (curData.length === 0 && page === 1) { isListEmpty = true dataList = [] } else { isListEmpty = false } this.setState({ dataList, isListEnd, isListEmpty, isListLoading: false }) }) } onScrollToLower (e) { let { isListEnd, isListLoading, page } = this.state if (!isListEnd && !isListLoading) { page++ this.setState({ page, isListLoading: true }, () => { this.getDataList() }) } } renderTop () { const { name } = this.$router.params const bg = require('@img/images/bg_house.jpg') return ( {name} ) } urlDtlLink () { const { id } = this.$router.params Taro.navigateTo({url: '/pagesHouse/indexDtl?id=' + id}) } renderList () { const exImg = require('@img/images/ex_banner.jpg') const { dataList, isListEnd, isListLoading, isListEmpty } = this.state const itemsList = dataList.map((item, index) => { const imgArr = (item.images || '').split(',') return ( {item.news_at} {item.title} {item.trends_cont} { item.trends_cont.length > 50 ? item.isMoreAllShow ? 收起 : 全文 : '' } { item.images && { imgArr.map((img, imgIndex) => { return ( ) }) } } 洪楼Plus ) }) return ( {itemsList} ) } previewImageHandle (cur, arr) { const current = `${cur}_plus` const urls = arr.map(item => { return `${item}_plus` }) Taro.previewImage({ current, urls }) } changeMoreHandle (index) { const { dataList } = this.state let mList = dataList || [] mList.map((item, i) => { if (index === i) item.isMoreAllShow = !item.isMoreAllShow }) this.setState({ dataList: [...mList] }) } render () { return ( {this.renderTop()} {this.renderList()} ) } } export default Index